// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.model.transaction.receivable.report.upload.records;

import com.fowo.api.common.annotaion.DataObjectType;
import com.fowo.api.common.meta.MetaDataObject;
import com.fowo.api.common.meta.MetaDataObjects;
import com.fowo.api.common.model.PageSearch;
import com.fowo.api.common.mybatis.helper.PageSearchHelper;
import com.fowo.api.common.util.ListUtils;
import com.fowo.api.entity.TransactionReceivableReportUploadRecords;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

@DataObjectType(TransactionReceivableReportUploadRecords.class)
@Setter
@Getter
public class TransactionReceivableReportUploadRecordsSearchParamPo
  extends PageSearch {

  private static MetaDataObject metaDataObject;

  @Override
  public void applySqlSegments() {
    if (metaDataObject == null) {
      metaDataObject =
        ListUtils.find(
          MetaDataObjects.getObjects(),
          o -> "TransactionReceivableReportUploadRecords".equals(o.getName())
        );
    }
    PageSearchHelper.fillSqlSegments(this, metaDataObject);
  }

  @Override
  public void initFinal() {
    super.initFinal();
    applySqlSegments();
  }

  /**
   * 获取关联字段的查询表别名信息
   */
  @Override
  public Map<String, String> getJoinFieldTableAliasMap() {
    Map<String, String> map = new HashMap<>();
    return map;
  }

  @Override
  public Map<String, OptionalJoinField> getOptionalJoinFields() {
    Map<String, OptionalJoinField> map = new HashMap<>();

    return map;
  }

  /**
   * 编号
   */
  private Long id;

  /**
   * 最小编号
   */
  private Long idMin;

  /**
   * 最大编号
   */
  private Long idMax;

  /**
   * 编号 比较(eq)
   */
  private Long idEq;
  /**
   * 编号 比较(neq)
   */
  private Long idNeq;
  /**
   * 编号 比较(gt)
   */
  private Long idGt;
  /**
   * 编号 比较(gte)
   */
  private Long idGte;
  /**
   * 编号 比较(lt)
   */
  private Long idLt;
  /**
   * 编号 比较(lte)
   */
  private Long idLte;
  /**
   * 编号 比较(contains)
   */
  private Long idContains;
  /**
   * 编号 比较(notcontains)
   */
  private Long idNotcontains;
  /**
   * 编号 比较(startswith)
   */
  private Long idStartswith;
  /**
   * 编号 比较(endswith)
   */
  private Long idEndswith;
  /**
   * 编号 比较(isnull)
   */
  private Boolean idIsnull;
  /**
   * 编号 比较(isnotnull)
   */
  private Boolean idIsnotnull;

  /**
   * 文件名(模糊搜索)
   */
  private String fileName;

  /**
   * 文件名 比较(eq)
   */
  private String fileNameEq;
  /**
   * 文件名 比较(neq)
   */
  private String fileNameNeq;
  /**
   * 文件名 比较(gt)
   */
  private String fileNameGt;
  /**
   * 文件名 比较(gte)
   */
  private String fileNameGte;
  /**
   * 文件名 比较(lt)
   */
  private String fileNameLt;
  /**
   * 文件名 比较(lte)
   */
  private String fileNameLte;
  /**
   * 文件名 比较(contains)
   */
  private String fileNameContains;
  /**
   * 文件名 比较(notcontains)
   */
  private String fileNameNotcontains;
  /**
   * 文件名 比较(startswith)
   */
  private String fileNameStartswith;
  /**
   * 文件名 比较(endswith)
   */
  private String fileNameEndswith;
  /**
   * 文件名 比较(isnull)
   */
  private Boolean fileNameIsnull;
  /**
   * 文件名 比较(isnotnull)
   */
  private Boolean fileNameIsnotnull;

  /**
   * 文件名(精确搜索)
   */
  private List<String> fileNameInList;

  /**
   * 解析结果
   */
  private String analysisResults;

  /**
   * 解析结果 比较(eq)
   */
  private String analysisResultsEq;
  /**
   * 解析结果 比较(neq)
   */
  private String analysisResultsNeq;
  /**
   * 解析结果 比较(gt)
   */
  private String analysisResultsGt;
  /**
   * 解析结果 比较(gte)
   */
  private String analysisResultsGte;
  /**
   * 解析结果 比较(lt)
   */
  private String analysisResultsLt;
  /**
   * 解析结果 比较(lte)
   */
  private String analysisResultsLte;
  /**
   * 解析结果 比较(contains)
   */
  private String analysisResultsContains;
  /**
   * 解析结果 比较(notcontains)
   */
  private String analysisResultsNotcontains;
  /**
   * 解析结果 比较(startswith)
   */
  private String analysisResultsStartswith;
  /**
   * 解析结果 比较(endswith)
   */
  private String analysisResultsEndswith;
  /**
   * 解析结果 比较(isnull)
   */
  private Boolean analysisResultsIsnull;
  /**
   * 解析结果 比较(isnotnull)
   */
  private Boolean analysisResultsIsnotnull;

  /**
   * 解析结果(精确搜索)
   */
  private List<String> analysisResultsInList;

  /**
   * 原因(模糊搜索)
   */
  private String reason;

  /**
   * 原因 比较(eq)
   */
  private String reasonEq;
  /**
   * 原因 比较(neq)
   */
  private String reasonNeq;
  /**
   * 原因 比较(gt)
   */
  private String reasonGt;
  /**
   * 原因 比较(gte)
   */
  private String reasonGte;
  /**
   * 原因 比较(lt)
   */
  private String reasonLt;
  /**
   * 原因 比较(lte)
   */
  private String reasonLte;
  /**
   * 原因 比较(contains)
   */
  private String reasonContains;
  /**
   * 原因 比较(notcontains)
   */
  private String reasonNotcontains;
  /**
   * 原因 比较(startswith)
   */
  private String reasonStartswith;
  /**
   * 原因 比较(endswith)
   */
  private String reasonEndswith;
  /**
   * 原因 比较(isnull)
   */
  private Boolean reasonIsnull;
  /**
   * 原因 比较(isnotnull)
   */
  private Boolean reasonIsnotnull;

  /**
   * 原因(精确搜索)
   */
  private List<String> reasonInList;

  /**
   * 最早创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeStart;

  /**
   * 最晚创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeEnd;

  /**
   * 创建时间 比较(eq)
   */
  private Date createTimeEq;
  /**
   * 创建时间 比较(neq)
   */
  private Date createTimeNeq;
  /**
   * 创建时间 比较(gt)
   */
  private Date createTimeGt;
  /**
   * 创建时间 比较(gte)
   */
  private Date createTimeGte;
  /**
   * 创建时间 比较(lt)
   */
  private Date createTimeLt;
  /**
   * 创建时间 比较(lte)
   */
  private Date createTimeLte;
  /**
   * 创建时间 比较(contains)
   */
  private Date createTimeContains;
  /**
   * 创建时间 比较(notcontains)
   */
  private Date createTimeNotcontains;
  /**
   * 创建时间 比较(startswith)
   */
  private Date createTimeStartswith;
  /**
   * 创建时间 比较(endswith)
   */
  private Date createTimeEndswith;
  /**
   * 创建时间 比较(isnull)
   */
  private Boolean createTimeIsnull;
  /**
   * 创建时间 比较(isnotnull)
   */
  private Boolean createTimeIsnotnull;

  /**
   * 创建人
   */
  private Long createUser;

  /**
   * 最小创建人
   */
  private Long createUserMin;

  /**
   * 最大创建人
   */
  private Long createUserMax;

  /**
   * 创建人 比较(eq)
   */
  private Long createUserEq;
  /**
   * 创建人 比较(neq)
   */
  private Long createUserNeq;
  /**
   * 创建人 比较(gt)
   */
  private Long createUserGt;
  /**
   * 创建人 比较(gte)
   */
  private Long createUserGte;
  /**
   * 创建人 比较(lt)
   */
  private Long createUserLt;
  /**
   * 创建人 比较(lte)
   */
  private Long createUserLte;
  /**
   * 创建人 比较(contains)
   */
  private Long createUserContains;
  /**
   * 创建人 比较(notcontains)
   */
  private Long createUserNotcontains;
  /**
   * 创建人 比较(startswith)
   */
  private Long createUserStartswith;
  /**
   * 创建人 比较(endswith)
   */
  private Long createUserEndswith;
  /**
   * 创建人 比较(isnull)
   */
  private Boolean createUserIsnull;
  /**
   * 创建人 比较(isnotnull)
   */
  private Boolean createUserIsnotnull;

  /**
   * 最早更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeStart;

  /**
   * 最晚更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeEnd;

  /**
   * 更新时间 比较(eq)
   */
  private Date lastUpdateTimeEq;
  /**
   * 更新时间 比较(neq)
   */
  private Date lastUpdateTimeNeq;
  /**
   * 更新时间 比较(gt)
   */
  private Date lastUpdateTimeGt;
  /**
   * 更新时间 比较(gte)
   */
  private Date lastUpdateTimeGte;
  /**
   * 更新时间 比较(lt)
   */
  private Date lastUpdateTimeLt;
  /**
   * 更新时间 比较(lte)
   */
  private Date lastUpdateTimeLte;
  /**
   * 更新时间 比较(contains)
   */
  private Date lastUpdateTimeContains;
  /**
   * 更新时间 比较(notcontains)
   */
  private Date lastUpdateTimeNotcontains;
  /**
   * 更新时间 比较(startswith)
   */
  private Date lastUpdateTimeStartswith;
  /**
   * 更新时间 比较(endswith)
   */
  private Date lastUpdateTimeEndswith;
  /**
   * 更新时间 比较(isnull)
   */
  private Boolean lastUpdateTimeIsnull;
  /**
   * 更新时间 比较(isnotnull)
   */
  private Boolean lastUpdateTimeIsnotnull;

  /**
   * 更新人
   */
  private Long lastUpdateUser;

  /**
   * 最小更新人
   */
  private Long lastUpdateUserMin;

  /**
   * 最大更新人
   */
  private Long lastUpdateUserMax;

  /**
   * 更新人 比较(eq)
   */
  private Long lastUpdateUserEq;
  /**
   * 更新人 比较(neq)
   */
  private Long lastUpdateUserNeq;
  /**
   * 更新人 比较(gt)
   */
  private Long lastUpdateUserGt;
  /**
   * 更新人 比较(gte)
   */
  private Long lastUpdateUserGte;
  /**
   * 更新人 比较(lt)
   */
  private Long lastUpdateUserLt;
  /**
   * 更新人 比较(lte)
   */
  private Long lastUpdateUserLte;
  /**
   * 更新人 比较(contains)
   */
  private Long lastUpdateUserContains;
  /**
   * 更新人 比较(notcontains)
   */
  private Long lastUpdateUserNotcontains;
  /**
   * 更新人 比较(startswith)
   */
  private Long lastUpdateUserStartswith;
  /**
   * 更新人 比较(endswith)
   */
  private Long lastUpdateUserEndswith;
  /**
   * 更新人 比较(isnull)
   */
  private Boolean lastUpdateUserIsnull;
  /**
   * 更新人 比较(isnotnull)
   */
  private Boolean lastUpdateUserIsnotnull;

  /**
   * 店铺
   */
  private String store;

  /**
   * 店铺 比较(eq)
   */
  private String storeEq;
  /**
   * 店铺 比较(neq)
   */
  private String storeNeq;
  /**
   * 店铺 比较(gt)
   */
  private String storeGt;
  /**
   * 店铺 比较(gte)
   */
  private String storeGte;
  /**
   * 店铺 比较(lt)
   */
  private String storeLt;
  /**
   * 店铺 比较(lte)
   */
  private String storeLte;
  /**
   * 店铺 比较(contains)
   */
  private String storeContains;
  /**
   * 店铺 比较(notcontains)
   */
  private String storeNotcontains;
  /**
   * 店铺 比较(startswith)
   */
  private String storeStartswith;
  /**
   * 店铺 比较(endswith)
   */
  private String storeEndswith;
  /**
   * 店铺 比较(isnull)
   */
  private Boolean storeIsnull;
  /**
   * 店铺 比较(isnotnull)
   */
  private Boolean storeIsnotnull;

  /**
   * 店铺(精确搜索)
   */
  private List<String> storeInList;

  /**
   * 站点
   */
  private String site;

  /**
   * 站点 比较(eq)
   */
  private String siteEq;
  /**
   * 站点 比较(neq)
   */
  private String siteNeq;
  /**
   * 站点 比较(gt)
   */
  private String siteGt;
  /**
   * 站点 比较(gte)
   */
  private String siteGte;
  /**
   * 站点 比较(lt)
   */
  private String siteLt;
  /**
   * 站点 比较(lte)
   */
  private String siteLte;
  /**
   * 站点 比较(contains)
   */
  private String siteContains;
  /**
   * 站点 比较(notcontains)
   */
  private String siteNotcontains;
  /**
   * 站点 比较(startswith)
   */
  private String siteStartswith;
  /**
   * 站点 比较(endswith)
   */
  private String siteEndswith;
  /**
   * 站点 比较(isnull)
   */
  private Boolean siteIsnull;
  /**
   * 站点 比较(isnotnull)
   */
  private Boolean siteIsnotnull;

  /**
   * 站点(精确搜索)
   */
  private List<String> siteInList;

  /**
   * 报告类型
   */
  private String reportType;

  /**
   * 报告类型 比较(eq)
   */
  private String reportTypeEq;
  /**
   * 报告类型 比较(neq)
   */
  private String reportTypeNeq;
  /**
   * 报告类型 比较(gt)
   */
  private String reportTypeGt;
  /**
   * 报告类型 比较(gte)
   */
  private String reportTypeGte;
  /**
   * 报告类型 比较(lt)
   */
  private String reportTypeLt;
  /**
   * 报告类型 比较(lte)
   */
  private String reportTypeLte;
  /**
   * 报告类型 比较(contains)
   */
  private String reportTypeContains;
  /**
   * 报告类型 比较(notcontains)
   */
  private String reportTypeNotcontains;
  /**
   * 报告类型 比较(startswith)
   */
  private String reportTypeStartswith;
  /**
   * 报告类型 比较(endswith)
   */
  private String reportTypeEndswith;
  /**
   * 报告类型 比较(isnull)
   */
  private Boolean reportTypeIsnull;
  /**
   * 报告类型 比较(isnotnull)
   */
  private Boolean reportTypeIsnotnull;

  /**
   * 报告类型(精确搜索)
   */
  private List<String> reportTypeInList;

  /**
   * 最早账单时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date billingTimeStart;

  /**
   * 最晚账单时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date billingTimeEnd;

  /**
   * 账单时间 比较(eq)
   */
  private Date billingTimeEq;
  /**
   * 账单时间 比较(neq)
   */
  private Date billingTimeNeq;
  /**
   * 账单时间 比较(gt)
   */
  private Date billingTimeGt;
  /**
   * 账单时间 比较(gte)
   */
  private Date billingTimeGte;
  /**
   * 账单时间 比较(lt)
   */
  private Date billingTimeLt;
  /**
   * 账单时间 比较(lte)
   */
  private Date billingTimeLte;
  /**
   * 账单时间 比较(contains)
   */
  private Date billingTimeContains;
  /**
   * 账单时间 比较(notcontains)
   */
  private Date billingTimeNotcontains;
  /**
   * 账单时间 比较(startswith)
   */
  private Date billingTimeStartswith;
  /**
   * 账单时间 比较(endswith)
   */
  private Date billingTimeEndswith;
  /**
   * 账单时间 比较(isnull)
   */
  private Boolean billingTimeIsnull;
  /**
   * 账单时间 比较(isnotnull)
   */
  private Boolean billingTimeIsnotnull;

  /**
   * 账单时区
   */
  private String billingTimeZone;

  /**
   * 账单时区 比较(eq)
   */
  private String billingTimeZoneEq;
  /**
   * 账单时区 比较(neq)
   */
  private String billingTimeZoneNeq;
  /**
   * 账单时区 比较(gt)
   */
  private String billingTimeZoneGt;
  /**
   * 账单时区 比较(gte)
   */
  private String billingTimeZoneGte;
  /**
   * 账单时区 比较(lt)
   */
  private String billingTimeZoneLt;
  /**
   * 账单时区 比较(lte)
   */
  private String billingTimeZoneLte;
  /**
   * 账单时区 比较(contains)
   */
  private String billingTimeZoneContains;
  /**
   * 账单时区 比较(notcontains)
   */
  private String billingTimeZoneNotcontains;
  /**
   * 账单时区 比较(startswith)
   */
  private String billingTimeZoneStartswith;
  /**
   * 账单时区 比较(endswith)
   */
  private String billingTimeZoneEndswith;
  /**
   * 账单时区 比较(isnull)
   */
  private Boolean billingTimeZoneIsnull;
  /**
   * 账单时区 比较(isnotnull)
   */
  private Boolean billingTimeZoneIsnotnull;

  /**
   * 账单时区(精确搜索)
   */
  private List<String> billingTimeZoneInList;

  /**
   * 来源
   */
  private String sourceFromWhere;

  /**
   * 来源 比较(eq)
   */
  private String sourceFromWhereEq;
  /**
   * 来源 比较(neq)
   */
  private String sourceFromWhereNeq;
  /**
   * 来源 比较(gt)
   */
  private String sourceFromWhereGt;
  /**
   * 来源 比较(gte)
   */
  private String sourceFromWhereGte;
  /**
   * 来源 比较(lt)
   */
  private String sourceFromWhereLt;
  /**
   * 来源 比较(lte)
   */
  private String sourceFromWhereLte;
  /**
   * 来源 比较(contains)
   */
  private String sourceFromWhereContains;
  /**
   * 来源 比较(notcontains)
   */
  private String sourceFromWhereNotcontains;
  /**
   * 来源 比较(startswith)
   */
  private String sourceFromWhereStartswith;
  /**
   * 来源 比较(endswith)
   */
  private String sourceFromWhereEndswith;
  /**
   * 来源 比较(isnull)
   */
  private Boolean sourceFromWhereIsnull;
  /**
   * 来源 比较(isnotnull)
   */
  private Boolean sourceFromWhereIsnotnull;

  /**
   * 来源(精确搜索)
   */
  private List<String> sourceFromWhereInList;

  /**
   * 最早上传时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date uploadTimeStart;

  /**
   * 最晚上传时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date uploadTimeEnd;

  /**
   * 上传时间 比较(eq)
   */
  private Date uploadTimeEq;
  /**
   * 上传时间 比较(neq)
   */
  private Date uploadTimeNeq;
  /**
   * 上传时间 比较(gt)
   */
  private Date uploadTimeGt;
  /**
   * 上传时间 比较(gte)
   */
  private Date uploadTimeGte;
  /**
   * 上传时间 比较(lt)
   */
  private Date uploadTimeLt;
  /**
   * 上传时间 比较(lte)
   */
  private Date uploadTimeLte;
  /**
   * 上传时间 比较(contains)
   */
  private Date uploadTimeContains;
  /**
   * 上传时间 比较(notcontains)
   */
  private Date uploadTimeNotcontains;
  /**
   * 上传时间 比较(startswith)
   */
  private Date uploadTimeStartswith;
  /**
   * 上传时间 比较(endswith)
   */
  private Date uploadTimeEndswith;
  /**
   * 上传时间 比较(isnull)
   */
  private Boolean uploadTimeIsnull;
  /**
   * 上传时间 比较(isnotnull)
   */
  private Boolean uploadTimeIsnotnull;

  /**
   * 全部国家
   */
  private String nation;

  /**
   * 全部国家 比较(eq)
   */
  private String nationEq;
  /**
   * 全部国家 比较(neq)
   */
  private String nationNeq;
  /**
   * 全部国家 比较(gt)
   */
  private String nationGt;
  /**
   * 全部国家 比较(gte)
   */
  private String nationGte;
  /**
   * 全部国家 比较(lt)
   */
  private String nationLt;
  /**
   * 全部国家 比较(lte)
   */
  private String nationLte;
  /**
   * 全部国家 比较(contains)
   */
  private String nationContains;
  /**
   * 全部国家 比较(notcontains)
   */
  private String nationNotcontains;
  /**
   * 全部国家 比较(startswith)
   */
  private String nationStartswith;
  /**
   * 全部国家 比较(endswith)
   */
  private String nationEndswith;
  /**
   * 全部国家 比较(isnull)
   */
  private Boolean nationIsnull;
  /**
   * 全部国家 比较(isnotnull)
   */
  private Boolean nationIsnotnull;

  /**
   * 全部国家(精确搜索)
   */
  private List<String> nationInList;

  /**
   * 表单名称
   */
  private String formName;

  /**
   * 工作流状态
   */
  private Integer wfStatus;
}
